The Session Initiation Protocol (SIP) is a signaling protocol for creating, modifying and terminating sessions with one or more participants. SIP is defined in Request For Comments (RFC) 3261 published by the Internet Engineering Task Force (IETF) entitled, “SIP: Session Initiation Protocol,” published in June 2002. SIP may be used, for example, as a signaling protocol for Voice over IP (VoIP). However, SIP may be used in any application where session initiation is a requirement.
SIP clients may use Transmission Control Protocol (TCP) or User Datagram Protocol (UDP) to connect to SIP servers and other SIP endpoints. TCP is defined in RFC 793 entitled, “Transmission Control Protocol,” published in September 1981. UDP is defined in RFC 768 entitled, “User Datagram Protocol,” published in August 1980.
FIG. 1 is a block diagram of one embodiment of a network utilizing SIP. A user of client device 120 may wish to communicate with a user of client device 140 over network 100, which may be, for example, the Internet or any other network. Prior to communicating both client device 120 and client device 140 register with SIP server 180. Registration provides SIP server with information related to client devices such as, for example, IP addresses for the respective client devices.
In order to initiate a session, client device 120 sends a request to SIP server 180 indicating another client device with which a session is to be initiated. SIP server 180 sends a message to client device 140 indicating that client device 120 is attempting to initiate a SIP session. Client device 140 may accept or reject the invitation by responding to SIP server 180.
If the invitation is accepted by client device 140, SIP server sends the appropriate information to client device 120. Once the session is initiated, client devices 120 and 140 communicate directly over network 100 until one of the client devices terminates the session through SIP server 180. While SIP allows communication between two client devices including wireless devices, SIP does not currently provide a mechanism to support all potential uses of SIP with wireless devices.